package com.alamiya.common.util;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

/**
 * @author HeHaoQi
 * @description 时间工具类
 * @date 2020/4/28 15:51
 */
public class DateTimeUtils {
    public static DateTimeFormatter DTFYYMMDDHHMMSS = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    public static DateTimeFormatter DTFYYMMDD = DateTimeFormatter.ofPattern("yyyy-MM-dd");

    /**
     * 根据 localDate 生成 “当天起始日期时间” LocalDateTime 类型数据
     *
     * @param localDate
     * @return
     */
    public static LocalDateTime getStaLDT(LocalDate localDate) {
        return LocalDateTime.of(localDate, LocalTime.MIN);
    }

    /**
     * 根据 localDate 生成 “当天结束日期时间” LocalDateTime 类型数据
     *
     * @param localDate
     * @return
     */
    public static LocalDateTime getEndLDT(LocalDate localDate) {
        return LocalDateTime.of(localDate, LocalTime.MAX);
    }

    /**
     * 将日期时间字符串转换成LocalDateTime类型
     *
     * @param dateTimeStr yyyy-MM-dd HH:mm:ss
     * @return
     */
    public static LocalDateTime parseStrToLDT(String dateTimeStr) {
        return LocalDateTime.parse(dateTimeStr, DTFYYMMDDHHMMSS);
    }

    /**
     * 将日期字符串转换为LocalDate类型
     *
     * @param dateStr yyyy-MM-dd
     * @return
     */
    public static LocalDate parseStrToLD(String dateStr) {
        return LocalDate.parse(dateStr, DTFYYMMDD);
    }
}